home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 March / PCWMAR09.iso / Software / Freeware / Adobe Media Player 1.6 / adobe_media_player.air / AMP.swf / scripts / mx / controls / Alert.as next >
Encoding:
Text File  |  2008-11-25  |  8.7 KB  |  272 lines

  1. package mx.controls
  2. {
  3.    import flash.display.Sprite;
  4.    import flash.events.Event;
  5.    import flash.events.EventPhase;
  6.    import mx.containers.Panel;
  7.    import mx.controls.alertClasses.AlertForm;
  8.    import mx.core.Application;
  9.    import mx.core.EdgeMetrics;
  10.    import mx.core.FlexVersion;
  11.    import mx.core.IFlexDisplayObject;
  12.    import mx.core.UIComponent;
  13.    import mx.core.mx_internal;
  14.    import mx.events.CloseEvent;
  15.    import mx.events.FlexEvent;
  16.    import mx.managers.ISystemManager;
  17.    import mx.managers.PopUpManager;
  18.    import mx.resources.IResourceManager;
  19.    import mx.resources.ResourceManager;
  20.    
  21.    use namespace mx_internal;
  22.    
  23.    public class Alert extends Panel
  24.    {
  25.       mx_internal static var createAccessibilityImplementation:Function;
  26.       
  27.       private static var cancelLabelOverride:String;
  28.       
  29.       private static var _resourceManager:IResourceManager;
  30.       
  31.       private static var noLabelOverride:String;
  32.       
  33.       private static var _yesLabel:String;
  34.       
  35.       private static var yesLabelOverride:String;
  36.       
  37.       private static var _okLabel:String;
  38.       
  39.       private static var _cancelLabel:String;
  40.       
  41.       private static var okLabelOverride:String;
  42.       
  43.       private static var _noLabel:String;
  44.       
  45.       mx_internal static const VERSION:String = "3.2.0.3958";
  46.       
  47.       public static const YES:uint = 1;
  48.       
  49.       public static const NO:uint = 2;
  50.       
  51.       public static const OK:uint = 4;
  52.       
  53.       public static const CANCEL:uint = 8;
  54.       
  55.       public static const NONMODAL:uint = 32768;
  56.       
  57.       private static var initialized:Boolean = false;
  58.       
  59.       public static var buttonHeight:Number = 22;
  60.       
  61.       public static var buttonWidth:Number = FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 ? 60 : 65;
  62.       
  63.       mx_internal var alertForm:AlertForm;
  64.       
  65.       public var defaultButtonFlag:uint = 4;
  66.       
  67.       public var text:String = "";
  68.       
  69.       public var buttonFlags:uint = 4;
  70.       
  71.       public var iconClass:Class;
  72.       
  73.       public function Alert()
  74.       {
  75.          super();
  76.          title = "";
  77.       }
  78.       
  79.       private static function initialize() : void
  80.       {
  81.          if(!initialized)
  82.          {
  83.             resourceManager.addEventListener(Event.CHANGE,static_resourceManager_changeHandler,false,0,true);
  84.             static_resourcesChanged();
  85.             initialized = true;
  86.          }
  87.       }
  88.       
  89.       private static function static_resourcesChanged() : void
  90.       {
  91.          cancelLabel = cancelLabelOverride;
  92.          noLabel = noLabelOverride;
  93.          okLabel = okLabelOverride;
  94.          yesLabel = yesLabelOverride;
  95.       }
  96.       
  97.       public static function get cancelLabel() : String
  98.       {
  99.          initialize();
  100.          return _cancelLabel;
  101.       }
  102.       
  103.       public static function set yesLabel(param1:String) : void
  104.       {
  105.          yesLabelOverride = param1;
  106.          _yesLabel = param1 != null ? param1 : resourceManager.getString("controls","yesLabel");
  107.       }
  108.       
  109.       private static function static_creationCompleteHandler(param1:FlexEvent) : void
  110.       {
  111.          if(param1.target is IFlexDisplayObject && param1.eventPhase == EventPhase.AT_TARGET)
  112.          {
  113.             param1.target.removeEventListener(FlexEvent.CREATION_COMPLETE,static_creationCompleteHandler);
  114.             PopUpManager.centerPopUp(IFlexDisplayObject(param1.target));
  115.          }
  116.       }
  117.       
  118.       public static function get noLabel() : String
  119.       {
  120.          initialize();
  121.          return _noLabel;
  122.       }
  123.       
  124.       public static function set cancelLabel(param1:String) : void
  125.       {
  126.          cancelLabelOverride = param1;
  127.          _cancelLabel = param1 != null ? param1 : resourceManager.getString("controls","cancelLabel");
  128.       }
  129.       
  130.       private static function get resourceManager() : IResourceManager
  131.       {
  132.          if(!_resourceManager)
  133.          {
  134.             _resourceManager = ResourceManager.getInstance();
  135.          }
  136.          return _resourceManager;
  137.       }
  138.       
  139.       public static function get yesLabel() : String
  140.       {
  141.          initialize();
  142.          return _yesLabel;
  143.       }
  144.       
  145.       public static function set noLabel(param1:String) : void
  146.       {
  147.          noLabelOverride = param1;
  148.          _noLabel = param1 != null ? param1 : resourceManager.getString("controls","noLabel");
  149.       }
  150.       
  151.       private static function static_resourceManager_changeHandler(param1:Event) : void
  152.       {
  153.          static_resourcesChanged();
  154.       }
  155.       
  156.       public static function set okLabel(param1:String) : void
  157.       {
  158.          okLabelOverride = param1;
  159.          _okLabel = param1 != null ? param1 : resourceManager.getString("controls","okLabel");
  160.       }
  161.       
  162.       public static function get okLabel() : String
  163.       {
  164.          initialize();
  165.          return _okLabel;
  166.       }
  167.       
  168.       public static function show(param1:String = "", param2:String = "", param3:uint = 4, param4:Sprite = null, param5:Function = null, param6:Class = null, param7:uint = 4) : Alert
  169.       {
  170.          var _loc10_:ISystemManager = null;
  171.          var _loc8_:Boolean = !!(param3 & Alert.NONMODAL) ? false : true;
  172.          if(!param4)
  173.          {
  174.             _loc10_ = ISystemManager(Application.application.systemManager);
  175.             if(_loc10_.useSWFBridge())
  176.             {
  177.                param4 = Sprite(_loc10_.getSandboxRoot());
  178.             }
  179.             else
  180.             {
  181.                param4 = Sprite(Application.application);
  182.             }
  183.          }
  184.          var _loc9_:Alert = new Alert();
  185.          if(Boolean(param3 & Alert.OK) || Boolean(param3 & Alert.CANCEL) || Boolean(param3 & Alert.YES) || Boolean(param3 & Alert.NO))
  186.          {
  187.             _loc9_.buttonFlags = param3;
  188.          }
  189.          if(param7 == Alert.OK || param7 == Alert.CANCEL || param7 == Alert.YES || param7 == Alert.NO)
  190.          {
  191.             _loc9_.defaultButtonFlag = param7;
  192.          }
  193.          _loc9_.text = param1;
  194.          _loc9_.title = param2;
  195.          _loc9_.iconClass = param6;
  196.          if(param5 != null)
  197.          {
  198.             _loc9_.addEventListener(CloseEvent.CLOSE,param5);
  199.          }
  200.          if(param4 is UIComponent)
  201.          {
  202.             _loc9_.moduleFactory = UIComponent(param4).moduleFactory;
  203.          }
  204.          PopUpManager.addPopUp(_loc9_,param4,_loc8_);
  205.          _loc9_.setActualSize(_loc9_.getExplicitOrMeasuredWidth(),_loc9_.getExplicitOrMeasuredHeight());
  206.          _loc9_.addEventListener(FlexEvent.CREATION_COMPLETE,static_creationCompleteHandler);
  207.          return _loc9_;
  208.       }
  209.       
  210.       override public function styleChanged(param1:String) : void
  211.       {
  212.          var _loc2_:String = null;
  213.          super.styleChanged(param1);
  214.          if(param1 == "messageStyleName")
  215.          {
  216.             _loc2_ = getStyle("messageStyleName");
  217.             styleName = _loc2_;
  218.          }
  219.          if(mx_internal::alertForm)
  220.          {
  221.             mx_internal::alertForm.styleChanged(param1);
  222.          }
  223.       }
  224.       
  225.       override protected function measure() : void
  226.       {
  227.          super.measure();
  228.          var _loc1_:EdgeMetrics = viewMetrics;
  229.          measuredWidth = Math.max(measuredWidth,mx_internal::alertForm.getExplicitOrMeasuredWidth() + _loc1_.left + _loc1_.right);
  230.          measuredHeight = mx_internal::alertForm.getExplicitOrMeasuredHeight() + _loc1_.top + _loc1_.bottom;
  231.       }
  232.       
  233.       override protected function resourcesChanged() : void
  234.       {
  235.          super.resourcesChanged();
  236.          static_resourcesChanged();
  237.       }
  238.       
  239.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  240.       {
  241.          super.updateDisplayList(param1,param2);
  242.          var _loc3_:EdgeMetrics = viewMetrics;
  243.          mx_internal::alertForm.setActualSize(param1 - _loc3_.left - _loc3_.right - getStyle("paddingLeft") - getStyle("paddingRight"),param2 - _loc3_.top - _loc3_.bottom - getStyle("paddingTop") - getStyle("paddingBottom"));
  244.       }
  245.       
  246.       override protected function createChildren() : void
  247.       {
  248.          super.createChildren();
  249.          var _loc1_:String = getStyle("messageStyleName");
  250.          if(_loc1_)
  251.          {
  252.             styleName = _loc1_;
  253.          }
  254.          if(!mx_internal::alertForm)
  255.          {
  256.             mx_internal::alertForm = new AlertForm();
  257.             mx_internal::alertForm.styleName = this;
  258.             addChild(mx_internal::alertForm);
  259.          }
  260.       }
  261.       
  262.       override protected function initializeAccessibility() : void
  263.       {
  264.          if(Alert.mx_internal::createAccessibilityImplementation != null)
  265.          {
  266.             Alert.mx_internal::createAccessibilityImplementation(this);
  267.          }
  268.       }
  269.    }
  270. }
  271.  
  272.